package admin.server.dao;

import admin.dao.model.UmsResource;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import admin.dao.model.UmsAdminRoleRelation;
import admin.dao.model.UmsRole;

import java.util.List;

/**
 * 自定义后台用户与角色管理Dao
 * Created by zgb on 2018/10/8.
 */
public interface UmsAdminRoleRelationDao {
    /**
     * 批量插入用户角色关系
     */
    int insertList(@Param("list") List<UmsAdminRoleRelation> adminRoleRelationList);

    /**
     * 获取用于所有角色
     */
    List<UmsRole> getRoleList(@Param("adminId") Long adminId);

    /**
     * 获取用户所有可访问资源
     */
    List<UmsResource> getResourceList(@Param("adminId") Long adminId, @Param("menuId") Long menuId);

    /**
     * 获取资源相关用户ID列表
     */
    List<Long> getAdminIdList(@Param("resourceId") Long resourceId);



    @Select("INSERT INTO ums_admin_role_relation(admin_id, role_id) VALUES(#{adminId}, #{roleId}) ON DUPLICATE KEY UPDATE 1 =1")
    void insertOnDuplicate(UmsAdminRoleRelation adminRoleRelation);


}
